231. GKE node cpu limit 計算
WHY
線上服務的pod,CPU飆高,
導致所屬的node,CPU也跟著衝高,合理。
但同仁問了一句那個limit是啥。
Note
那條紅色的線,
原本以為那是某個node的cpu最大值,
但我這個node的最大cpu只有4而已。
所以排除了CPU的上限,檢視 Metrics Explorer
指標上面寫Limit cores
再根據 GKE system metrics,得知這個metrics是指 CPU cores limit of the container。
但我又懶得一個一個查這個node有多少limit。
於是
kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=<node name> -o custom-columns=:metadata.name,:metadata.namespace --no-headers | while read -r name ns; do
echo "$name and $ns"
kubectl get pod $name -n $ns -o jsonpath='{.spec.containers[*].resources.limits.cpu}' | xargs -n1 echo " CPU Limit: "
done
本來是用for,但在切割name 與 namespace出了點問題。
最後才改用while。
這邊將值總和計算出來後是6.2,數值一樣,謎底解開了。